FIG. 1 illustrates a position/speed control system of a motor which has been widely used in controlling joints of a robot. Reference symbol s denotes a Laplace operator.
In this position/speed control system, a speed control loop gain Kv111 and a position loop gain Kp110 is set to be as high as possible, in order to perform a positioning in opposition to friction and external force. Furthermore, an integrator 113 is arranged in parallel with a proportional operator 112 whereby control is performed so as to improve its characteristics. With such a control system, the tip of the robot can be accurately positioned at their target positions even under conditions of external force.
However, the foregoing robot has no ability to cope with usage for performing an operation while absorbing a strong force applied from the outside. For example, in a case where the conventional position control robot aims to work in operations to flexibly receive the force applied from an external machine and in the usage of holding and pushing of parts by the robot, the accomplishment of the operations will be difficult.
Specifically, when operations involving a contact with works are performed in such control system, an output value of a speed control loop, that is, a torque reference value becomes large thereby creating an over load state when a positional shift of the works occurs, due to a gain set to a large value in order to enhance rigidity and action of the integrator. Thus, the operation execution will be difficult. In order to cope with such problems, a force control system has been adopted, in which either a float instrument for absorbing the force of an action or an exclusive use instrument such as an RCC having a mechanical flexibility is provided in a tip of the robot, or a force sensor is employed [Prior art No. 1]. For a method of performing a compliance control without adding a special instrument to the robot, a method for reducing a servo gain has been disclosed in Japanese Patent Application Laid Open No. 6-332538 [Prior art No. 2, see FIG. 2]. Moreover, a method capable of setting the flexibility in an operation coordinate system has been disclosed in Japanese Patent Application No. 7-20941 [Prior art No. 3, not shown].
The prior art No. 2 concerns a flexible servo control method which moves a driven body by means of human power, the driven body being driven by a servo motor and is kept away from obstacles. In this method, when a compliance control starts, the position gain Kp110a and the proportional gain Kv112a of the speed control loop are lowered in accordance with the degree of setting flexibility. Further, the output from the integrator 113 of the speed control loop is limited to the value of a setting clamp. As a result, the torque reference will not have a specially large value in spite of an increase in the position deviation, so that the driven body to be driven by the servo motor can be moved by human power. The prior art No. 2 is a technology which is capable of moving the driven body while avoiding an obstacle by human power, in the case when an obstacle is in the movement path of the driven body.
The prior art No. 3 concerns a flexible servo control method which is capable of changing the gain of the servo system of the robot built in each of the coordinate axes by setting the flexibility on the working coordinates. In the control method of the servo motor controlled in the control system which comprises the position control loop and the speed control loop, the prior art No. 3 is a technology in which the flexibility designated on the working coordinates where the servo motor is positioned is converted to the servo gains Kp110a and Kv112a of the servo motor on each of the coordinate axes, the servo motor is driven by the servo gains Kp and Kv converted by the flexibility, and the body to be driven by the servo motor can be moved by human power.
Furthermore, there has been a compliance control system of a robot, in which a limitation to the output of the position speed control system is provided for reducing the loop gain, and the posture is changed when an external power more than a predetermined level is applied [Prior art No. 4, FIG. 3].
Besides, as recited in "Impedance Control of a Direct Drive Manipulator Using no Force Sensor" , Tachi and Sakaki, Journal of Japan Robot Society, Vol. 7-3, 1989, pp. 172-184, in a control system, in which the position control loop, the speed control loop, and the acceleration control loop are independently provided, and the result obtained by adding them is used as the torque instruction for the motor, an impedance is controled by adjusting the gain of each of the loops, the impedance being a mechanical rigidity, a viscosity and a mass [Prior art No. 5, see FIG. 4].
The foregoing prior arts have the following drawbacks.
For the prior art No. 1 shown in FIG. 1, when transition from the position control to the flexible control is made, the robot is affected greatly by a force acting statistically to it, particularly, by gravity. Specifically, when the compliance function starts to operate, the robot arm drops in the direction of the gravity due to the action of the gravity, so that the robot changes greatly in posture, making execution of operations difficult. Moreover, when transition from the compliance control to the position control is made, there are problems that the robot arm drops in the direction of gravity or the response is unstable for a period during which values are accumulated in the integrator of the speed control system. Moreover, during compliance control, the value of the position instruction often does not agree with the present position of the robot. When the transition from the compliance control to the position control is made suddenly, the robot performs a rapid convergence to the position instruction value. Therefore, there are problems that the robot is very dangerous, for example, the robot collides with bodies around it and an unstable response is brought about due to hunting generated by the limitation of the integrator.
Furthermore, a plurality of servo gains for each of the axes which drive each of the axes of the robot must be adjusted to keep a certain relation. In addition, since an increase in the servo deviation creates a proportional increase in a generation torque of the servo motor, it is impossible to cope with machinery and the like which has a great stroke acting on the robot from the outside.
Furthermore, in a method in which an exclusive use jig and a force sensor are used together with other parts (not shown), there is a problem of higher cost.
In the prior art No. 2 shown in FIG. 2 and the prior art No. 3, the method for reducing the servo gains is adopted. It is required for these methods to adjust the plurality of servo gains while keeping a certain relation among them. Moreover, since an increase in the servo deviation creates a proportional increase in the generation torque of the servo motor, it is impossible to cope with machinery and the like with a great stroke acting on the robot from the outside.
Furthermore, in the prior art No. 3, a method which controls the flexibility in the working coordinate system is disclosed. In this method, it is required to obtain the gain by matching the displacement of the joint coordinate system to that of the working coordinate system. Therefore, since the computation load is large due to a complexity of the computation relation formula, it is impossible to continuously obtain the gain for changing the posture of the robot. Particularly, these is a problem that at the particular point where the robot makes a great change in its posture due to a large rate of change of the relation between the joint angle and the displacement in the operation coordinates, a computation load for a CPU is large, a real time computation can not be performed for the posture change of the robot, and the difficulty in the continuous computation of the gain forces the flexibility of the robot to be significantly different based on the posture of the robot.
Next, in the method of the prior art No. 2 shown in FIG. 2, which reduces the loop gain of the control system, although it is possible to perform the control for the rigidity and the viscosity in the mechanical impedance in the case where the robot is operated with an external force, it is impossible to reduce the mass of the arm inherently possessed by the robot and the mass quantity added to the tip of the robot. Therefore, it is impossible to reduce the reaction force exerted when the robot arm is accelerated by the external force, so that the flexibility to move the robot by a small force can not be realized.
The above-described problem is found also in the method of the prior art No. 4 shown in FIG. 3, in which an output limitation in the position and speed control systems is provided.
Moreover, in the method of the prior art No. 5 shown in FIG. 4 by Tachi and Sakaki, the switching between the conventional position and compliance control can not be easily made. Specifically, because of the difference between the constitutions of the control loops, it is difficult to switch between the position control and the compliance control while keeping the continuity of the quantity of state.
In the methods of the prior arts 1 to 5 shown in FIGS. 1 to 4, no protection means is provided when the robot is pushed from the outside and makes the displacement more than an allowed value.
For this reason, the robot has the following problems.
A. The robot is pushed by an external instrument, and the robot is moved to the outside of the operation region, resulting in collision with the instruments around it.
B. When the robot holds a body heavier than the prescribed value for handling, the robot changes its posture in the gravity direction, resulting in a problem similar to that recited in item A.
Moreover, in the prior arts 6 to 8, in order to effectively utilize the compliance control, no means for taking the following measures is provided.
C. The handling body is detected based on the displacement produced by the weight during handling, and the following operation plan is changed.
D. The collision with the body is detected, whereby the execution procedures for operations are changed.
Specifically, no means is provided for detecting the information to know whether the robot is in an abnormal state, the information indicating what level force acts on the robot, and what distance the robot shifts from the track to the target due to force. Therefore, when the robot receives a force from the outside for making displacement flexibly, it is impossible to execute the measures such as stopping the robot, stopping the external instruments, and changing the movement schedule of the robot.
Moreover, similarly, in the prior arts 1 to 5, in the case where the operator comes into contact with the moving robot, the operator is caught between the arms of the robot, or the robot comes into contact with other bodies, the deviation between the instruction of the position and speed control systems and the detection value becomes large. Therefore, the robot continues to move in a direction where a more dangerous situation is produced. It is very difficult for the operator to escape from such a dangerous situation, and damage to the robot and other bodies may results.